﻿using SportsPlatform.Enums;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SportsPlatform.Dto.WeChat
{
    /// <summary>
    /// 
    /// </summary>
    public class GetHotCompetitionListDto
    {
        /// <summary>
        /// 赛事Id
        /// </summary>
        public Guid Id { get; set; }

        /// <summary>
        /// 赛事名称
        /// </summary>
        public string Name { get; set; }

        /// <summary>
        /// 举办城市
        /// </summary>
        public string City { get; set; }

        /// <summary>
        /// 比赛时间
        /// </summary>
        public string MatchTime { get; set; }

        /// <summary>
        /// 报名人数
        /// </summary>
        public int SignPeopleCount { get; set; }

        /// <summary>
        /// 封面图
        /// </summary>
        public string CoverPicture { get; set; }

        /// <summary>
        /// 费用
        /// </summary>
        public string Money { get; set; }

        /// <summary>
        /// 赛事状态
        /// </summary>
        public string StateStr
        {
            get
            {
                return Enum.GetName(typeof(CompetitionStateEnum), State);
            }
        }

        /// <summary>
        /// 赛事状态
        /// </summary>
        public int State { get; set; }

        /// <summary>
        /// 报名结束时间
        /// </summary>
        public DateTime SingUpEndTime { get; set; }
    }

    /// <summary>
    /// 获取热门赛事详情
    /// </summary>
    public class GetIndexCompetitionDetailsDto
    {
        /// <summary>
        /// 赛事ID
        /// </summary>
        public Guid Id { get; set; }

        /// <summary>
        /// 所属商户
        /// </summary>
        public Guid Merchants { get; set; }

        /// <summary>
        /// 赛事名称
        /// </summary>
        public string Name { get; set; }

        /// <summary>
        /// 轮播图
        /// </summary>
        public List<string> RotationPicture { get; set; }

        /// <summary>
        /// 封面图
        /// </summary>
        public string CoverPicture { get; set; }

        /// <summary>
        /// 举办城市
        /// </summary>
        public string City { get; set; }

        /// <summary>
        /// 举办地点
        /// </summary>
        public string Address { get; set; }

        /// <summary>
        /// 举办详细地址
        /// </summary>
        public string DetailsAddress { get; set; }

        /// <summary>
        /// 报名开始时间
        /// </summary>
        public string SignUpTime { get; set; }

        /// <summary>
        /// 比赛时间
        /// </summary>
        public string MatchTime { get; set; }

        /// <summary>
        /// 赛事状态（0：关闭；1：待发布；2：报名未开始；3：正在报名；4：报名结束待比赛；5：正在比赛；6：比赛结束）
        /// </summary>
        public int State { get; set; }

        /// <summary>
        /// 赛事状态字符串
        /// </summary>
        public string StateStr { get; set; }

        /// <summary>
        /// 活动详情
        /// </summary>
        public string Details { get; set; }

        /// <summary>
        /// 赛事须知
        /// </summary>
        public string Instructions { get; set; }

        /// <summary>
        /// 费用（元/人）
        /// </summary>
        public string Money { get; set; }

        /// <summary>
        /// 详细地址坐标点
        /// </summary>
        public string Point { get; set; }

        /// <summary>
        /// 赛程
        /// </summary>
        public List<Raceschedule> Raceschedules { get; set; }

        /// <summary>
        /// 推荐赛事
        /// </summary>
        public List<GetHotCompetitionListDto> Recommend { get; set; }
    }

    /// <summary>
    /// 赛程
    /// </summary>
    public class Raceschedule
    {
        /// <summary>
        /// 比赛日期
        /// </summary>
        public string Date { get; set; }

        /// <summary>
        /// 比赛时间段
        /// </summary>
        public string Time { get; set; }

        /// <summary>
        /// 比赛项目名称
        /// </summary>
        public string Project { get; set; }

        /// <summary>
        /// 比赛场地
        /// </summary>
        public string Address { get; set; }
    }

    /// <summary>
    /// 获取赛事比赛项目
    /// </summary>
    public class GetCompetitionProjectListDto
    {
        /// <summary>
        /// 赛事名称
        /// </summary>
        public string Name { get; set; }

        /// <summary>
        /// 轮播图
        /// </summary>
        public List<string> RotationPicture { get; set; }

        /// <summary>
        /// 举办城市
        /// </summary>
        public string City { get; set; }

        /// <summary>
        /// 举办地点
        /// </summary>
        public string Address { get; set; }

        /// <summary>
        /// 举办详细地址
        /// </summary>
        public string DetailsAddress { get; set; }

        /// <summary>
        /// 报名开始时间
        /// </summary>
        public string SignUpTime { get; set; }

        /// <summary>
        /// 比赛时间
        /// </summary>
        public string MatchTime { get; set; }

        /// <summary>
        /// 赛程列表
        /// </summary>
        public List<Raceschedule> Raceschedules { get; set; }
    }
}
